1. Technical Field
The present invention relates generally to client-server processing and, more particularly, to an application environment wherein application logic and business rules reside on a server to which users attach from client machines that have independent graphical user interface (GUI) processing.
2. Description of the Related Art
The computer industry has changed dramatically over the past few years and that, coupled with the explosive growth of the Internet, has changed the way people interact with and access information. The growth of the Graphical User Interface (GUI) and the World Wide Web, the graphical side of the Internet, has changed users"" expectations of how they interact with information.
These changes present new challenges in data processing. While data processing has traditionally been performed internally, e.g., within a company site, the new global information access infrastructure allows remote data processing.
Current remote control systems that can be adapted for remote data processing such as PCAnywhere or Citrix Servers have two significant drawbacks. First, their system overhead requirements keep them from being scaled to a large number of users. Second, keyboard interaction takes place essentially on a character by character basis. In tests of remote control systems, and character based systems such as Unix telnet, the character by character method was found unacceptable over the Internet for sustained usage of the program. With delay times typically of xc2xc to xc2xd of a second, and sometimes more, it becomes very difficult for data entry personnel to develop any rhythm that allows for high speed entry. Using ActiveX controls and other methods based on standard Remote Procedure Call (RPC) implementations requires too much bandwidth to perform acceptably over limited speed connections such as a 28.8 kbps connection. Moreover, additional installation is needed on the client side. Web browser based implementations do not have interactive field by field validation, lookups, or help needed for large scale applications. In addition, they do not allow multiple overlapping windows.
Some operating systems (such as the Windows operating system) use an event queue to process and sequence events (such as key strokes, mouse clicks, etc.). Generally, events such as key strokes are simply delivered to the window that is currently active. This, however, becomes somewhat complicated if a key stroke is able to activate another window. As fast users often type ahead, there is no assurance that key strokes will be sent to the intended window.
A primary object of the present invention is to provide a network-based system that allows for high speed data entry at a remote client.
A further object of the invention is to provide a network-based system for remote data processing in which substantially all application logic and business rules reside on a common server, and GUI processing is performed separately at a client machine.
A further object of the invention is to provide a network-based system providing a sophisticated user interface at a client machine controlled by a server using a low bandwidth connection (such as a 28.8 kbps modem connection) and minimal client resources.
Another object of the invention is to provide a network-based system for remote data processing that is scaleable to a large number, e.g., hundreds, of concurrent users.
These and other objectives are accomplished by a network-based system in which application logic and business rules reside on a server to which a user attaches from a client machine. The system includes a view manager residing on the client machine for generating a graphical user interface (GUI) environment for the user. An application engine resides on the server for controlling the view manager. Events in an event queue at the client machine are parsed to determine which events require application processing. Events requiring application processing are sent to the server and other events are left in the event queue. The system also maintains stack synchronization between the client machine and the server.
The inventive system allows remote high speed data entry while maintaining keystroke synchronization. The system is scaleable to a large number, e.g., hundreds, of concurrent users. It provides a sophisticated user interface at the client machine controlled by the server using a low bandwidth connection (such as a 28.8 kbps modem connection) and minimal client resources.
The foregoing has outlined some of the more pertinent objects and features of the present invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following Detailed Description of the Preferred Embodiment.